This invention relates generally to addressing a memory of a digital system, and in particular to the method and apparatus for addressing a memory by a set of parameters which specify an addressing sequence within the memory for data arrays.
In many digital processing systems, specially programmed units control the ordering of data access from memories while special purpose interfacing units link up components with different data formatting requirements. The proliferation of special purpose units results in inefficiencies, causing high system development costs, long development times, high programming costs, and high system maintenance costs.
The arithmetic unit (AU) in prior processors usually assisted the processor control unit to sequence data items to the arithmetic section or transform data items into a form appropriate for an operation to be performed; this not only increased the complexity of the control unit, but also interrupted data processing, causing a reduction in processor efficiency. In addition, often the AU is idle while the next instruction is being interpreted. It is desirable to continuously control formatting operations over related data items, like arrays, and to let the AU perform continuous AU functions.
Sometimes special purpose instructions are implemented in digital signal processors to facilitate performing vector-matrix mathematics. Generally, a series of instructions are required to perform a signal processing algorithm using the available special purpose instructions and other instructions for correctly indexing and dimensioning arrays. A higher order language that eliminates the need for ancillary parameters to index and dimension arrays is highly desirable, especially when the hardware required to implement such a language is not prohibitive.